package br.com.gustavobhz.portalcolaborador.encoder;

import org.apache.tapestry5.ValueEncoder;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ValueEncoderFactory;

import br.com.gustavobhz.portalcolaborador.entidade.Funcionario;
import br.com.gustavobhz.portalcolaborador.entidade.GenericDAO;

public class FuncionarioEncoder implements ValueEncoder<Funcionario>, ValueEncoderFactory<Funcionario> {
	
	@Inject
	private Funcionario funcionario;
	
	@Inject
	GenericDAO genericDAO;

	public ValueEncoder<Funcionario> create(Class<Funcionario> type) {
		return this;
	}

	public String toClient(Funcionario value) {
		// return the given object's ID
		return String.valueOf(value.getId());
	}

	public Funcionario toValue(String id) {
		return (Funcionario) genericDAO.getById(Long.parseLong(id)); 
	}

}